882 research outputs found

    A Linear Time Algorithm for Finding Minimum Spanning Tree Replacement Edges

    Full text link
    Given an undirected, weighted graph, the minimum spanning tree (MST) is a tree that connects all of the vertices of the graph with minimum sum of edge weights. In real world applications, network designers often seek to quickly find a replacement edge for each edge in the MST. For example, when a traffic accident closes a road in a transportation network, or a line goes down in a communication network, the replacement edge may reconnect the MST at lowest cost. In the paper, we consider the case of finding the lowest cost replacement edge for each edge of the MST. A previous algorithm by Tarjan takes O(mα(m,n))O(m \alpha(m, n)) time, where α(m,n)\alpha(m, n) is the inverse Ackermann's function. Given the MST and sorted non-tree edges, our algorithm is the first that runs in O(m+n)O(m+n) time and O(m+n)O(m+n) space to find all replacement edges. Moreover, it is easy to implement and our experimental study demonstrates fast performance on several types of graphs. Additionally, since the most vital edge is the tree edge whose removal causes the highest cost, our algorithm finds it in linear time

    Stem cell mechanobiology

    No full text
    Stem cells are undifferentiated cells that are capable of proliferation, self-maintenance and differentiation towards specific cell phenotypes. These processes are controlled by a variety of cues including physicochemical factors associated with the specific mechanical environment in which the cells reside. The control of stem cell biology through mechanical factors remains poorly understood and is the focus of the developing field of mechanobiology. This review provides an insight into the current knowledge of the role of mechanical forces in the induction of differentiation of stem cells. While the details associated with individual studies are complex and typically associated with the stem cell type studied and model system adopted, certain key themes emerge. First, the differentiation process affects the mechanical properties of the cells and of specific subcellular components. Secondly, that stem cells are able to detect and respond to alterations in the stiffness of their surrounding microenvironment via induction of lineage-specific differentiation. Finally, the application of external mechanical forces to stem cells, transduced through a variety of mechanisms, can initiate and drive differentiation processes. The coalescence of these three key concepts permit the introduction of a new theory for the maintenance of stem cells and alternatively their differentiation via the concept of a stem cell 'mechano-niche', defined as a specific combination of cell mechanical properties, extracellular matrix stiffness and external mechanical cues conducive to the maintenance of the stem cell population.<br/

    A Randomized Parallel Sorting Algorithm With an Experimental Study

    Get PDF
    Previous schemes for sorting on general-purpose parallel machines have had to choose between poor load balancing and irregular communication or multiple rounds of all-to-all personalized communication. In this paper, we introduce a novel variation on sample sort which uses only two rounds of regular all-to-all personalized communication in a scheme that yields very good load balancing with virtually no overhead. Moreover, unlike previous variations, our algorithm efficiently handles the presence of duplicate values without the overhead of tagging each element with a unique identifier. This algorithm was implemented in Split-C and run on a variety of platforms, including the Thinking Machines CM-5, the IBM SP-2, and the Cray Research T3D. We ran our code using widely different benchmarks to examine the dependence of our algorithm on the input distribution. Our experimental results illustrate the efficiency and scalability of our algorithm across different platforms. In fact, it seems to..

    Hornet: An Efficient Data Structure for Dynamic Sparse Graphs and Matrices on GPUs

    Get PDF
    Sparse data computations are ubiquitous in science and engineering. Unlike their dense data counterparts, sparse data computations have less locality and more irregularity in their execution, making them significantly more challenging to parallelize and optimize. Many of the existing formats for sparse data representations on parallel architectures are restricted to static data problems, while those for dynamic data suffer from inefficiency both in terms of performance and memory footprint. This work presents Hornet, a novel data representation that targets dynamic data problems. Hornet is scalable with the input size, and does not require any data re-allocation or re-initialization during the data evolution. We show a Hornet implementation for GPU architectures and compare it to the most widely used static and dynamic data structures

    Parallel Longest Common SubSequence Analysis In Chapel

    Full text link
    One of the most critical problems in the field of string algorithms is the longest common subsequence problem (LCS). The problem is NP-hard for an arbitrary number of strings but can be solved in polynomial time for a fixed number of strings. In this paper, we select a typical parallel LCS algorithm and integrate it into our large-scale string analysis algorithm library to support different types of large string analysis. Specifically, we take advantage of the high-level parallel language, Chapel, to integrate Lu and Liu's parallel LCS algorithm into Arkouda, an open-source framework. Through Arkouda, data scientists can easily handle large string analytics on the back-end high-performance computing resources from the front-end Python interface. The Chapel-enabled parallel LCS algorithm can identify the longest common subsequences of two strings, and experimental results are given to show how the number of parallel resources and the length of input strings can affect the algorithm's performance.Comment: The 27th Annual IEEE High Performance Extreme Computing Conference (HPEC), Virtual, September 25-29, 202

    Streaming Breakpoint Graph Analytics for Accelerating and Parallelizing the Computation of DCJ Median of Three Genomes

    Get PDF
    AbstractThe problem of finding the median of three genomes is the key process in building the most parsimonious phylogenetic trees from genome rearrangement data. The median problem using Double-Cut-and-Join (DCJ) distance is NP-hard and the best exact algorithm is based on a branch-and-bound best-first search strategy to explore sub-graph patterns in Multiple BreakPoint Graph (MBG). In this paper, by taking advantage of the “streaming” property of MBG, we introduce the “footprint-based” data structure to reduce the space requirement of a single search nodes from O(v2) to O(v); minimize the redundant computation in counting cycles/paths to update bounds, which leads to dramatically decrease of workload of a single search node. Additional heuristic of branching strategy is introduced to help reducing the searching space. Last but not least, the introduction of a multi-thread shared memory parallel algorithm with two load balancing strategies bring in additional benefit by distributing search work efficiently among different processors. We conduct extensive experiments on simulated datasets and our results show significant improvement on all datasets. And we test our DCJ median algorithm with GASTS, a state of the art software phylogenetic tree construction package. On the real high resolution Drosophila data set, our exact algorithm run as fast as the heuristic algorithm and help construct a better phylogenetic tree
    corecore